home *** CD-ROM | disk | FTP | other *** search
/ Whiteline: Alpha / Whiteline Alpha.iso / linux / atari / source / source.lzh / atari-linux-0.01pl3 / fs / ext2 / bitmap.c < prev    next >
Encoding:
C/C++ Source or Header  |  1994-06-05  |  509 b   |  24 lines

  1. /*
  2.  *  linux/fs/ext2/bitmap.c
  3.  *
  4.  *  Copyright (C) 1992, 1993  Remy Card (card@masi.ibp.fr)
  5.  */
  6.  
  7. #include <linux/fs.h>
  8. #include <linux/ext2_fs.h>
  9.  
  10. static int nibblemap[] = {4, 3, 3, 2, 3, 2, 2, 1, 3, 2, 2, 1, 2, 1, 1, 0};
  11.  
  12. unsigned long ext2_count_free (struct buffer_head * map, unsigned int numchars)
  13. {
  14.     unsigned int i;
  15.     unsigned long sum = 0;
  16.     
  17.     if (!map) 
  18.         return (0);
  19.     for (i = 0; i < numchars; i++)
  20.         sum += nibblemap[map->b_data[i] & 0xf] +
  21.             nibblemap[(map->b_data[i] >> 4) & 0xf];
  22.     return (sum);
  23. }
  24.